package cn.learn.dao.system.role;

import cn.learn.domain.system.role.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleDao {

    // 查询全部角色
    List<Role> selectAll(String companyId);

    // 添加一条角色
    void addOne(Role role);

    // 根据id查询一条
    Role findOneById(Role role);

    // 根据id修改一条数据
    void updateOneById(Role role);

    // 根据id删除一条角色
    void deleteOneById(String id);

    // 根据id删除用户原有权限
    void deleteRoleModuleById(String roleId);

    // 添加新的角色权限
    void addRoleModule(@Param("roleId") String roleId, @Param("moduleId") String moduleId);

    // 查询用户的角色
    List<Role> selectUserRole(String id);

    // 删除用户拥有的角色
    void deleteUserRoleById(String userId);

    // 添加一条用户的角色
    void addOneUserRole(@Param("userId") String userId, @Param("roleId") String roleId);
}
